#include<stdio.h>

//本题的核心在于理解这么实现这个最大
int main()
{
    int n;
    scanf("%d",&n);
    for(int i=2;i*i<n;i++)
    {
        if(n%i==0)
        {
            //首先枚举的是质数，能保证因数都是质数
            //其次是从小到大枚举的，如果是约数，那用结果除以这个约数不就能找到另一个约数
            //注意：这个约数是小的那个，那除了之后结果不就是结果更大的那个质因数吗
            printf("%d",n/i);
            break;  //找到了，直接结束循环
        }
    }
}